package br.com.comprasPublicas.entity;

import java.io.Serializable;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

/**
 *
 * @author helsen_rafael
 * @since 11/01/11
 */
@Entity
public class Departamento implements Serializable {
    
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id_departamento;
    
    @Column(name="departamento", length=60, nullable=false)
    private String departamento;
    
    @Column(name="diretor", length=40, nullable=false)
    private String diretor;

    @Column(name="ativo_departamento", length=1, nullable=false)
    private String ativo_departamento;//s=sim; n=nao

    @OneToMany(mappedBy="departamento", fetch=FetchType.LAZY)
    private Set<Secao> secao;

    @Cascade(CascadeType.ALL)

    /**
     * @return the id_departamento
     */
    public int getId_departamento() {
        return id_departamento;
    }

    /**
     * @param id_departamento the id_departamento to set
     */
    public void setId_departamento(int id_departamento) {
        this.id_departamento = id_departamento;
    }

    /**
     * @return the departamento
     */
    public String getDepartamento() {
        return departamento;
    }

    /**
     * @param departamento the departamento to set
     */
    public void setDepartamento(String departamento) {
        this.departamento = departamento;
    }

    /**
     * @return the diretor
     */
    public String getDiretor() {
        return diretor;
    }

    /**
     * @param diretor the diretor to set
     */
    public void setDiretor(String diretor) {
        this.diretor = diretor;
    }


    /**
     * @return the ativo_departamento
     */
    public String getAtivo_departamento() {
        return ativo_departamento;
    }

    /**
     * @param ativo_departamento the ativo_departamento to set
     */
    public void setAtivo_departamento(String ativo_departamento) {
        this.ativo_departamento = ativo_departamento;
    }

    /**
     * @return the secao
     */
    public Set<Secao> getSecao() {
        return secao;
    }

    /**
     * @param secao the secao to set
     */
    public void setSecao(Set<Secao> secao) {
        this.secao = secao;
    }

}
